package com.zysd.collection.scheduler.dao;

import com.zysd.collection.scheduler.condition.TaskModelCondition;
import com.zysd.collection.scheduler.entity.SchedulerTaskModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 任务模板dao
 *
 * @author liuht
 * @date 2017/10/13 9:32
 */
public interface SchedulerTaskModelDao {
    /**
     * 根据主键删除
     *
     * @param id 主键
     * @return 删除条数
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 插入任务模板
     *
     * @param record 模板数据
     * @return 插入条数
     */
    int insert(SchedulerTaskModel record);

    /**
     * 插入任务模板 sql只生成有值的字段
     *
     * @param record 模板数据
     * @return 插入条数
     */
    int insertSelective(SchedulerTaskModel record);

    /**
     * 根据主键查询
     *
     * @param id 根据主键查询
     * @return 查询结果
     */
    SchedulerTaskModel selectByPrimaryKey(Long id);

    /**
     * 根据条件查询
     *
     * @param condition 根据主键查询
     * @return 查询结果
     */
    List<SchedulerTaskModel> selectByCondition(@Param("condition") TaskModelCondition condition);

    /**
     * 更新 sql只生成有值的字段
     *
     * @param record 模板数据
     * @return 更新条数
     */
    int updateByPrimaryKeySelective(SchedulerTaskModel record);

    /**
     * 更新
     *
     * @param record 模板数据
     * @return 更新条数
     */
    int updateByPrimaryKey(SchedulerTaskModel record);
}
